namespace go api

struct ListProductCustomFieldRequest {
    1: i32 pageNum
    2: i32 pageSize
    3: string sort
    4: ProductCustomFieldData data
}

struct ListProductCustomFieldResponse {
	1: list<ProductCustomFieldData> data
	2: i64 count
}

struct ProductCustomFieldData {
	1:i64 id
	2: string createdAt,
    3: string updatedAt,
    4: i64 createdUserId,
    5: i64 updatedUserId,
    6: i64 organizationId,
    7: string updatedUserNickname,
    8: string createdUserNickname,
		9: string name
	10: string explain
	11: string type
	12: string requiredFlag
	13: string printFlag
	14: i64 sort
	15: string optionValue

}

struct BatchDeleteProductCustomFieldRequest {
    1: list<i64> ids
}

service ProductCustomField {
    ListProductCustomFieldResponse listProductCustomField(1: ListProductCustomFieldRequest req)
    ProductCustomFieldData getProductCustomField(1: ProductCustomFieldData req)
    void addProductCustomField(1: ProductCustomFieldData req)
    void editProductCustomField(1: ProductCustomFieldData req)
    void deleteProductCustomField(1: i64 id)
    void batchDeleteProductCustomField(1: BatchDeleteProductCustomFieldRequest req)
}